The csup function builds a
superscripted expression. For example, ‘csup(a, b)’ looks the same as
‘a^b’ does in
Big language mode. This is essentially a horizontal composition
of ‘a’ and
‘b’, where
‘b’ is shifted
up so that its bottom line is one above the baseline.
Likewise, the
csub function builds a subscripted expression. This
shifts ‘b’
down so that its top line is one below the bottom line of
‘a’ (note that
this is not quite analogous to csup). Other
arrangements can be obtained by using choriz and
cvert directly.
The
cflat function formats its argument in
“flat” mode, as obtained by ‘d O’, if the current language mode is
normal or Big. It has no effect in other language modes. For
example, ‘a^(b/c)’ is formatted by Big mode like
‘csup(a,
cflat(b/c))’ to improve its readability.
The
cspace function creates horizontal space. For
example, ‘cspace(4)’ is effectively the same as
‘string(" ")’.
A second string (i.e., vector of characters) argument is repeated
instead of the space character. For example,
‘cspace(4,
"ab")’ looks like ‘abababab’. If the second argument is
not a string, it is formatted in the normal way and then several
copies of that are composed together: ‘cspace(4, a^2)’ yields
2 2 2 2
a a a a
If the number argument is zero, this is a zero-width object.
The
cvspace function creates vertical space, or a
vertical stack of copies of a certain string or formatted object.
The baseline is the center line of the resulting stack. A
numerical argument of zero will produce an object which
contributes zero height if used in a vertical composition.
There are also ctspace and
cbspace functions which create vertical space with
the baseline the same as the baseline of the top or bottom copy,
respectively, of the second argument. Thus
‘cvspace(2, a/b) + ctspace(2, a/b)
+ cbspace(2, a/b)’ displays as:
a
-
a b
- a a
b + - + -
a b b
- a
b -
b